package com.justnow.offer;

import com.sun.xml.internal.ws.addressing.WsaActionUtil;

import java.util.*;

/**
 * @author justnow
 * Created on 2020-09-27
 * Description
 * 搭配出售
 * 时间限制： 3000MS
 * 内存限制： 589824KB
 * 题目描述：
 * 服装店新进了a条领带，b条裤子，c个帽子，d件衬衫，现在要把这些搭配起来售卖。有三种搭配方式，一条领带和一件衬衫，一条裤子和一件衬衫，一个帽子和一件衬衫。卖出一套领带加衬衫可以得到e元，卖出一套裤子加衬衫可以得到f元，卖出一套帽子加衬衫可以得到g元。现在你需要输出最大的获利方式。
 *
 *
 *
 * 输入描述
 * 一行7个整数，空格隔开，分别表示a,b,c,d,e,f,g。
 *
 * (1≤a,b,c,d,e,f,g≤1e5)
 *
 * 输出描述
 * 输出最大获利的值。
 *
 *
 * 样例输入
 * 2 3 4 5 6 7 8
 * 样例输出
 * 39
 *
 * 提示
 * 4个帽子加4件衬衫获利32元，1条裤子加1件衬衫获利7元，一共得到39元。
 *
 *
 *
 *
 */
public class Meituan01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        String[] s1 = s.split(" ");
        int[] array = new int[s1.length];
        for (int i = 0; i < s1.length; i++) {
            array[i] = Integer.valueOf(s1[i]);
        }

        int a = array[0];
        int b = array[1];
        int c = array[2];
        int d = array[3];

        Map<Integer, Integer> map = new TreeMap<>();
        map.put(array[4], 1);
        map.put(array[5], 2);
        map.put(array[6], 3);
        int size = map.size();
        int oneIndex = 0, secondIndex = 0, threeIndex = 0;
        int oneValue = 0, secondValue = 0, threeValue = 0;
        int count = 0;
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            if (count == 0) {
                oneIndex = entry.getValue();
                oneValue = entry.getKey();
            }
            if (count == 1) {
                secondIndex = entry.getValue();
                secondValue = entry.getKey();
            }
            if (count == 2) {
                threeIndex = entry.getValue();
                threeValue = entry.getKey();
            }
            count++;
        }
        int res = 0;
        if (threeIndex == 3) {
            int sum = 0;
            while (c > 0 && d > 0) {
                sum += threeValue;
                c--;
                d--;
            }
            if (d > 0) {
                if (secondIndex == 2) {
                    while (b > 0 && d > 0) {
                        sum += secondValue;
                        b--;
                        d--;
                    }
                } else {
                    while (a > 0 && d > 0) {
                        sum += secondValue;
                        a--;
                        d--;
                    }
                }
            }
            if (d > 0) {
                if (oneIndex == 2) {
                    while (b > 0 && d > 0) {
                        sum += oneValue;
                        b--;
                        d--;
                    }
                } else {
                    while (a > 0 && d > 0) {
                        sum += oneValue;
                        a--;
                        d--;
                    }
                }
            }
            res = sum;

        } else if (threeIndex == 2) {
            int sum = 0;
            while (b > 0 && d > 0) {
                sum += threeValue;
                b--;
                d--;
            }
            if (d > 0) {
                if (secondIndex == 3) {
                    while (c > 0 && d > 0) {
                        sum += secondValue;
                        c--;
                        d--;
                    }
                } else {
                    while (a > 0 && d > 0) {
                        sum += secondValue;
                        a--;
                        d--;
                    }
                }
            }
            if (d > 0) {
                if (oneIndex == 3) {
                    while (c > 0 && d > 0) {
                        sum += oneValue;
                        c--;
                        d--;
                    }
                } else {
                    while (a > 0 && d > 0) {
                        sum += oneValue;
                        a--;
                        d--;
                    }
                }
            }
            res = sum;
        } else {
            int sum = 0;
            while (a > 0 && d > 0) {
                sum += threeValue;
                a--;
                d--;
            }
            if (d > 0) {
                if (secondIndex == 3) {
                    while (c > 0 && d > 0) {
                        sum += secondValue;
                        c--;
                        d--;
                    }
                } else {
                    while (b > 0 && d > 0) {
                        sum += secondValue;
                        b--;
                        d--;
                    }
                }
            }
            if (d > 0) {
                if (oneIndex == 3) {
                    while (c > 0 && d > 0) {
                        sum += oneValue;
                        c--;
                        d--;
                    }
                } else {
                    while (b > 0 && d > 0) {
                        sum += oneValue;
                        b--;
                        d--;
                    }
                }
            }
            res = sum;

        }
        System.out.println(res);

    }
}
